package com.ylr.base.common.enums;

import com.ylr.base.common.interfaces.BaseResultEnum;
import lombok.AllArgsConstructor;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2023-04-15 10:25:23
 * className: ResultEnum 请求结果枚举类
 * version: 1.0
 * description:
 */
@AllArgsConstructor
public enum ResultEnum implements BaseResultEnum {

    /*
        成功
     */
    SUCCESS(200, "请求成功"),

    /*
        请求失败
     */
    REQUEST_FAIL(400, "请求失败"),
    ILLEGAL_FAIL(400, "非法请求，请停止！！！"),
    PARAM_FAIL(400, "请求参数错误，请确认。"),
    BATCH_FAIL(400, "批量处理数据超过系统设定最大值，操作被拒绝。"),
    SQL_FAIL(400, "sql注入，请停止。"),
    MODULE_FAIL(400, "很抱歉，您请求的服务不存在，请确认。"),
    CHANNEL_FAIL(400, "很抱歉，您的请求在系统中未标记，请确认。"),
    NOT_FOUND(400, "很抱歉，您的操作的数据不存在，请确认。"),
    MOBILE_FAIL(400, "手机号格式错误，请确认。"),
    EMAIL_FAIL(400, "邮箱号格式错误，请确认。"),
    NO_AUTH(403, "很抱歉，请认证后在进行操作"),
    TOKEN_LOSE(403, "很抱歉，请添加访问令牌后在进行操作"),
    TOKEN_FAIL(403, "很抱歉，您的访问令牌值不对，请确认"),
    AUTH_FAIL(403, "很抱歉，您没有访问权限"),
    RISK_USER(40301, "很抱歉，您触发系统风控规则，被限制使用，申诉通过后即可恢复使用"),
    DISABLE_USER(40302, "很抱歉，您已被系统禁止使用"),
    REFRESH(409, "很抱歉，您操作的数据已变更，请重新操作"),
    TRY_LOCK_FAIL(421, "很抱歉，您操作的数据正在编辑中，请稍后重试"),

    /*
        系统异常
     */
    SERVICE_FAIL(500, "系统异常，请稍后重试"),
    LIMIT_FAIL(500, "请求流量过大，请稍后重试"),
    ;

    /**
     * 状态码
     */
    private final Integer code;

    /**
     * 回复消息
     */
    private final String msg;

    @Override
    public Integer getCode() {
        return code;
    }

    @Override
    public String getMsg() {
        return msg;
    }

}
